package com.v5.mr.partition;

import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.mapreduce.Partitioner;

//实现分区的逻辑：按照部门号进行分区                                                                                            k2   v2
public class MyEmployeePartitioner extends Partitioner<LongWritable, Employee>{

	@Override
	public int getPartition(LongWritable k2, Employee v2, int numParts) {
		// 建立自己的分区规则：按照部门号进行分区             
		// 参数： numParts 分区的个数，需要在主程序中的job中设置
		
		int detpno = v2.getDeptno();
		if(detpno == 10){
			//10号部门的员工，分到1号区中
			return 1%numParts;
		}else if(detpno == 20){
			//20号部门的员工，分到2号区中
			return 2%numParts;
		}else{
			//30号部门的员工，分到0号区
			return 3%numParts;
		}
	}

}
